package com.ficus.road.maintain.util;

/**
 * @author xiawen yang
 * @date 2021/11/17 下午8:38
 */
public class FormatUtil {

    public static double keepDecimalsOfK(double data, int n) {
        //四舍五入
        String format = String.format("%." + n + "f", data);
        return Double.parseDouble(format);
    }

    public static double formatNumber(double number) {
        // 将数字转换为字符串
        String numberStr = String.valueOf(number);

        // 找到小数点的位置
        int decimalPointIndex = numberStr.indexOf(".");

        // 如果存在小数点，并且小数点后面的长度大于3位
        if (decimalPointIndex != -1 && numberStr.length() - decimalPointIndex - 1 > 3) {
            // 使用 DecimalFormat 保留2位小数
            keepDecimalsOfK(number,2);
        }

        // 如果小数点后面不超过3位，原样返回
        return number;
    }

    public static void main(String[] args) {
        System.out.println(keepDecimalsOfK(2.2,3));
    }
}
